package com.powernode;

import org.springframework.ai.chat.client.ChatClient;
import org.springframework.ai.tool.ToolCallbackProvider;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;

@SpringBootApplication
public class McpMysqlClientApplication {
    public static void main(String[] args) {
        SpringApplication.run(McpMysqlClientApplication.class, args);
    }

    /**
     * 创建并配置聊天客户端实例
     * 该方法将工具回调提供者与聊天客户端关联，使客户端能够使用已注册的工具服务
     *
     * @param chatClientBuilder ChatClient的构建器实例，用于配置客户端属性
     * @param tools 工具回调提供者，包含已注册的MysqlService工具方法
     * @return ChatClient 配置完成的聊天客户端实例
     */
    @Bean
    public ChatClient chatClient(ChatClient.Builder chatClientBuilder, ToolCallbackProvider tools) {
        // 设置默认工具回调并构建聊天客户端
        // 将之前注册的工具方法关联到聊天客户端，使其具备工具调用能力
        return chatClientBuilder.defaultToolCallbacks(tools).build();
    }
}
